home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-03-01 | 31.3 KB | 1,015 lines |
- // Fireworks Generic HTML & JavaScript for sliced output.
- // Version 2.0 10FEB99
-
-
- // To export HTML without comments change the value of variable doComments to "false".
- var doComments=true;
-
- // When doComments is set to "true" the WRITE_HTML_COMMENT and WRITE_JS_COMMENT functions
- // include HTML and JavaScript comments in the exported file.
- function WRITE_HTML_COMMENT(str) {
- if (doComments) WRITE_HTML("<!--"+str+"-->\n");
- }
-
- function WRITE_JS_COMMENT(str) {
- if (doComments) WRITE_HTML("/* "+str+" */\n");
- }
-
- // Write general comments for copying and pasting Fireworks-generated code into existing HTML documents.
- WRITE_HTML_COMMENT("To put this html into an existing HTML document, you must copy the JavaScript and");
- WRITE_HTML_COMMENT("paste it in a specific location within the destination HTML document. You must then copy");
- WRITE_HTML_COMMENT("and paste the table in a different location.");
- WRITE_HTML("\n");
-
-
- WRITE_HTML("<html>\n");
- WRITE_HTML("\n");
-
- WRITE_HTML("<head>\n");
- WRITE_HTML("\n");
-
- // Use Base Name from export dialog as document title.
- WRITE_HTML("<title>", exportDoc.filename, "</title>\n");
- WRITE_HTML("\n");
-
- // Write Meta tags.
- WRITE_HTML("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=");
- var charSet = App.getPref("HtmlCharSet");
- if (charSet == "") charSet = "iso-8859-1";
- WRITE_HTML(charSet + "\">\n");
- WRITE_HTML("<meta name=\"description\" content=\"Fireworks Splice HTML\">\n");
- WRITE_HTML("\n");
-
- // Write HTML target and date created.
- var d = new Date();
- WRITE_HTML("<!-- Fireworks 2.0 Generic target. \n Created ", d, " -->\n");
- WRITE_HTML("\n");
-
- // Declare variables for processing Behaviors.
- var kActionStatusMessage = 1;
- var kActionSwapImage = 2;
- var kActionRadioGroup = 3;
-
- var kEventMouseOver = 0;
- var kEventOnClick = 1;
- var kEventMouseOut = 2;
-
- var hasGroup = false;
- var hasDownGroup = false;
- var hasStatusMessage = false;
- var hasStatusHotspot = false;
- var hasSwap = false;
-
- // Function CellName determines the name for the image in a particular table cell.
- // Cellname is based off of the slice name if one was specified. Otherwise the
- // Base file name from the export dialog is used.
- function CellName(row, col) {
- var cellName = "N" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
- var curSlice = slices[row][col];
- if (curSlice && curSlice.getFrameFileName(0)) {
- cellName = curSlice.getFrameFileName(0).toString();
- curSlice.setFrameFileName(0, cellName);
- // remove illegal characters
- cellName = cellName.replace(/\W/g, "");
- // if it starts with a number, add N to the front.
- if (cellName == "") cellName = "N" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
- if (cellName.search(/\d/) == 0) {
- cellName = "N"+cellName;
- }
- }
- return(cellName);
- }
-
- // Determine and process Behaviors in the document.
- function ProcessBehavior(theCurBehaviors, displayStatusMessage) {
-
- // Declare variable for processing Behaviors.
- var gotJavascript = false;
-
- var overStat = false;
- var hitStat = false;
- var outStat = false;
- var curRestore = false;
- var numRestore = 0;
- var eraseStatOnRestore = false;
-
- var groupName = false;
-
- // Determine if this set of Behaviors includes a toggle group name.
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- var curBehavior = theCurBehaviors[i];
- if (curBehavior.action == kActionRadioGroup) {
- groupName = curBehavior.groupName;
- }
- }
- var swapImageOver = "";
- var swapImageClick = "";
- var swapImageOut = "";
-
- // Translate Behaviors into JavaScript.
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- var curBehavior = theCurBehaviors[i];
- var curSwap = "";
- curRestore = false;
- var swapRow = 0;
- var swapCol = 0;
- var swapFrame = 0;
-
- // Translate Swap Image Behaviors into JavaScript.
- if (curBehavior.action == kActionSwapImage) {
- gotJavascript = true;
- curRestore = curBehavior.restoreOnMouseout;
- swapRow = curBehavior.targetRowNum;
- swapCol = curBehavior.targetColumnNum;
- swapFrame = curBehavior.targetFrameNum;
- var fileName;
- if (curBehavior.hasHref) {
- fileName = curBehavior.href;
- } else {
- fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(swapFrame) + slices[swapRow][swapCol].imageSuffix;
- }
-
- var cellName = CellName(swapRow,swapCol);
-
- curSwap += "'" +cellName +"','";
- curSwap += fileName +"'";
- if (curBehavior.event == kEventOnClick) {
- /* Need click file */
- if (slices[swapRow][swapCol].getFrameFileName(3) && swapFrame == 2) {
- fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(3) + slices[swapRow][swapCol].imageSuffix;
- }
- curSwap += ",'" + fileName + "'";
- }
- }
-
- // Translate Status Bar Message Behavior into JavaScript.
- if (curBehavior.action == kActionStatusMessage) {
- gotJavascript = true;
- var statMsg = curBehavior.statusText;
- var curStat = "";
- curStat = displayStatusMessage+"('" + statMsg + "');";
- if (curBehavior.restoreOnMouseout) eraseStatOnRestore=true;
-
- if (curBehavior.event == kEventMouseOver) {
- javaOver += curStat;
- overStat = true;
- }
- if (curBehavior.event == kEventOnClick) {
- javaClick += curStat;
- hitStat = true;
- }
- if (curBehavior.event == kEventMouseOut) {
- javaOut += curStat;
- outStat = true;
- }
- continue;
- }
-
-
- if (groupName) {
-
- // If swap images are part of a group, translate swap image behaviors into JavaScript.
- if (curBehavior.event == kEventMouseOver) {
- if (curSwap) {
- if (swapImageOver) swapImageOver += ",";
- swapImageOver += curSwap;
- }
- }
- if (curBehavior.event == kEventMouseOut) {
- if (curSwap) {
- if (swapImageOut) swapImageOut += ",";
- swapImageOut += curSwap;
- }
- }
- if (curBehavior.event == kEventOnClick) {
- if (curSwap) {
- tag = ");";
- javaClick += "GrpDown('" + groupName + "'," + curSwap + tag;
- }
- }
- if (curRestore) numRestore++;
- } else {
-
- // If swap images are not part of a group, translate swap image behaviors into JavaScript.
- if (curBehavior.event == kEventMouseOver) {
- if (curSwap) {
- javaOver += "di20(" + curSwap + ");";
- }
- }
- if (curBehavior.event == kEventOnClick) {
- if (curSwap) {
- javaClick += "di20(" + curSwap + ");";
- }
- }
- if (curBehavior.event == kEventMouseOut) {
- if (curSwap) {
- javaOut += "di20(" + curSwap + ");";
- }
- }
- var origFileName = slices[swapRow][swapCol].getFrameFileName(0);
- if (curRestore) {
- javaOut += "di20('" + CellName(swapRow,swapCol) + "','";
- javaOut += slices.imagesDirPath + origFileName + slices[swapRow][swapCol].imageSuffix + "');"
- }
- }
- }
-
- // Final processing for swap images and toggle groups.
- if (groupName) {
- if (swapImageOver) {
- tag = ");";
- javaOver += "GrpSwap('" + groupName + "'," + swapImageOver + tag;
- }
- if (swapImageOut) {
- tag = ");";
- javaOut += "GrpSwap('" + groupName + "'," + swapImageOut + tag;
- }
- if (numRestore >= 1) {
- javaOut += "GrpRestore('" + groupName + "');" ;
- }
- }
-
- // Erase status bar message onMouseOut.
- if (eraseStatOnRestore) {
- javaOut += displayStatusMessage+"(' ');" ;
- outStat = true;
- }
-
- // Status bar messages require a return value in Netscape.
- // Put return at end of JavaScript.
- var ret = "return document.MM_returnValue";
- if (overStat) javaOver += ret;
- if (outStat) javaOut += ret;
- if (hitStat) javaClick += ret;
- return(gotJavascript);
- }
-
- // Check for radio groups with the initially selected flag.
- function CheckForInits(thisGrpName, theCurBehaviors) {
- var groupName = false;
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- var curBehavior = theCurBehaviors[i];
- if (curBehavior.action == kActionRadioGroup &&
- curBehavior.groupChecked) {
- if (thisGrpName == curBehavior.groupName) {
- groupName = curBehavior.groupName;
- break;
- }
- }
- }
- if (!groupName) return;
-
- var swapImageOver = "";
-
- // If toggle group with initial state specified, search for swap image
- // behaviors that will be required to switch it to its initial state.
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- var curBehavior = theCurBehaviors[i];
- var curSwap = "";
- curRestore = false;
- var swapRow = 0;
- var swapCol = 0;
- var swapFrame = 0;
- if (curBehavior.action == kActionSwapImage) {
- swapRow = curBehavior.targetRowNum;
- swapCol = curBehavior.targetColumnNum;
- swapFrame = curBehavior.targetFrameNum;
- var fileName;
- if (curBehavior.hasHref) {
- fileName = curBehavior.href;
- } else {
- fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(swapFrame) + slices[swapRow][swapCol].imageSuffix;
- }
-
- var cellName = CellName(swapRow,swapCol);
-
- curSwap += "'" +cellName +"','";
- curSwap += fileName +"'";
- if (curBehavior.event == kEventOnClick) {
- /* Need click file */
- if (slices[swapRow][swapCol].getFrameFileName(3) && swapFrame == 2) {
- fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(3) + slices[swapRow][swapCol].imageSuffix;
- }
- curSwap += ",'" + fileName + "'";
- }
- }
- if (curBehavior.event == kEventMouseOver) {
- if (curSwap) {
- if (swapImageOver) swapImageOver += ",";
- swapImageOver += curSwap;
- }
- }
- }
-
- // Set initial state.
- var initCmd = "";
- if (swapImageOver != "") {
- initCmd = "GrpSwap('" + groupName + "'," + swapImageOver + ");";
- }
- groupInits[groupName] = initCmd;
- }
-
- // Write comment for start of JavaScript copy/paste section.
- WRITE_HTML_COMMENT("------------------ BEGIN COPYING THE JAVASCRIPT SECTION HERE -----------------");
- WRITE_HTML("\n");
-
- // Begin Script. Hide Script from non-javascript-enabled browsers.
- WRITE_HTML("<script language=\"JavaScript\">\n");
- WRITE_HTML("<!-- hide this script from non-javascript-enabled browsers\n");
- WRITE_HTML("\n");
-
- // Find and declare all images used in Behaviors.
- WRITE_HTML("if (document.images) {\n")
-
- function DoFile(curBeh) {
- var swapRow = curBeh.targetRowNum;
- var swapCol = curBeh.targetColumnNum;
- var swapFrame = curBeh.targetFrameNum;
- var fileName = slices[swapRow][swapCol].getFrameFileName(0);
- if (curBeh.hasTargetFrame && swapFrame > 0) {
- var frame = swapFrame + 1;
- fileName = fileName + "_F" + frame;
- slices[swapRow][swapCol].setFrameFileName(swapFrame, fileName);
- slices[swapRow][swapCol].isSwapped = true;
- }
- }
-
- // Build a list of toggle groups in array groups.
- var groups = new Array;
- var groupInits = new Array;
- function AddGroup(name) {
- var i;
- for (i=0; i<groups.length; i++) {
- if (groups[i] == name) return;
- }
- groups[i] = name;
- groupInits[name] = "";
- }
-
- // Examine all behaviors to determine what groups and actions are present.
- // Determine which files to pre-cache.
- for (var curRow = 0; curRow < slices.numRows; curRow++) {
- for (var curCol = 0; curCol < slices.numColumns; curCol++) {
- if (slices[curRow][curCol].skipCell) continue;
- if (slices[curRow][curCol].behaviors.numberOfBehaviors > 0) {
- var behaviors = slices[curRow][curCol].behaviors;
- for (var i=0; i<behaviors.numberOfBehaviors; i++) {
- var curBehavior = behaviors[i];
- if (curBehavior.action == kActionSwapImage) {
- DoFile(curBehavior);
- hasSwap = true;
- }
- if (curBehavior.action == kActionStatusMessage) {
- hasStatusMessage = true;
- if (slices[curRow][curCol].hasImagemap) {
- hasStatusHotspot = true;
- }
- }
- }
- for (var i=0; i<behaviors.numberOfBehaviors; i++) {
- var curBehavior = behaviors[i];
- if (curBehavior.action == kActionRadioGroup) {
- hasGroup=true;
- if (curBehavior.event == kEventOnClick) {
- hasDownGroup = true;
- }
- AddGroup(curBehavior.groupName);
- CheckForInits(curBehavior.groupName, behaviors);
- }
- }
- }
- var imagemap = slices[curRow][curCol].imagemap;
- for (var j=0; j < imagemap.numberOfURLs; j++) {
- var curImagemap = imagemap[j];
- var behaviors = curImagemap.behaviors;
- for (var i=0; i<behaviors.numberOfBehaviors; i++) {
- var curBehavior = behaviors[i];
- if (curBehavior.action == kActionSwapImage) {
- DoFile(curBehavior);
- hasSwap = true;
- }
- if (curBehavior.action == kActionStatusMessage) {
- hasStatusHotspot = true;
- }
- }
- for (var i=0; i<behaviors.numberOfBehaviors; i++) {
- var curBehavior = behaviors[i];
- if (curBehavior.action == kActionRadioGroup) {
- hasGroup=true;
- if (curBehavior.event == kEventOnClick) {
- hasDownGroup = true;
- }
- AddGroup(curBehavior.groupName);
- CheckForInits(curBehavior.groupName, behaviors);
- }
- }
- }
- }
- }
-
- // Write precache function.
- for (var curRow = 0; curRow < slices.numRows; curRow++) {
- for (var curCol = 0; curCol < slices.numColumns; curCol++) {
- if (slices[curRow][curCol].skipCell) continue;
- var cellName = CellName(curRow,curCol);
- var curFile = slices[curRow][curCol].getFrameFileName(0);
- for (var curFrame = 0; curFrame < exportDoc.numFrames; curFrame++) {
- var curFile = slices[curRow][curCol].getFrameFileName(curFrame);
- if (!curFile) continue;
- if (curFrame == 0 && !slices[curRow][curCol].isSwapped) continue;
- // Declare and name each image and specify width and height. Ex: I_02_02_F2= new Image(47, 16);
- WRITE_HTML(cellName, "_F", curFrame+1,
- " = new Image(", slices[curRow][curCol].width, "," , slices[curRow][curCol].height,"); ");
- // Write image source. Ex: I_02_02_F2.src = "File_02_02_F2.gif";
- WRITE_HTML(cellName, "_F", curFrame+1,
- ".src = \"", slices.imagesDirPath, curFile, slices[curRow][curCol].imageSuffix,"\";\n");
- }
- }
- }
- WRITE_HTML("}\n");
- WRITE_HTML("\n");
-
-
- /*-------------------------- JavaScript functions used in the HTML -----------------*/
-
- /* Function dm executes status bar messages. */
- function dm(msgStr) {
- window.status = msgStr;
- document.MM_returnValue = true;
- }
-
- /* Function dmim executes browser detection when image map hotspots have status bar messages. */
- function dmim(msgStr) {
- document.MM_returnValue = false;
- var showMsg = navigator.userAgent != "Mozilla/4.0 (compatible; MSIE 4.0; Mac_PowerPC)";
- if (showMsg) {
- window.status = msgStr;
- document.MM_returnValue = true;
- }
- }
-
- /* Function di20 executes image swaps. */
- function di20(id,newSrc){
- var theImage = FWFindImage(document, id, 0);
- if (theImage) theImage.src=newSrc;
- }
-
- /* Function FWFindImage locates an image which may be in a CSS layer. This allows the user
- to move images between layers in an html editor without breaking behaviors. */
- function FWFindImage(doc, name, j)
- {
- var theImage=false;
- if (doc.images) {
- theImage = doc.images[name];
- }
- if (theImage) return theImage;
- if (doc.layers) {
- for (j=0; j<doc.layers.length; j++) {
- theImage = FWFindImage(doc.layers[j].document, name, 0);
- if (theImage) return(theImage);
- }
- }
- return(false);
- }
-
- /* Function setCookie creates a browser cookie for tracking and setting button states. */
- function setCookie(name, value) {
- document.cookie = name + "=" + escape(value)
- }
-
- /* Function getCookie reads a browser cookie for setting button states. */
- function getCookie(Name) {
- var search = Name + "="
- var retVal = "";
- if (document.cookie.length > 0) { // if there are any cookies
- offset = document.cookie.indexOf(search);
- if (offset != -1) { // if cookie exists
- // set index of beginning of value
- end = document.cookie.indexOf(";", offset)
- // set index of end of cookie value
- offset += search.length
- if (end == -1)
- end = document.cookie.length;
- retVal = unescape(document.cookie.substring(offset, end)) ;
- }
- }
- return(retVal);
- }
-
- /* Function InitGrp checks for a cookie for the current toggle group and uses that information
- to set the current down button state. */
- function InitGrp(grp) {
- var cmd = false; if (getCookie) cmd = getCookie(grp);
- if (cmd) {
- eval("GrpDown("+cmd+")");
- eval("GrpRestore("+cmd+")");
- }
- }
-
- /* Function FindGroup locates toggle group information in the current document and
- creates it if it has not already been declared. */
- function FindGroup(grp, imageName) {
- var img = FWFindImage(document, imageName, 0);
- if (!img) return(false);
- var docGroup = eval("document.FWG_"+grp);
- if (!docGroup) {
- docGroup = new Object;
- eval("document.FWG_"+grp+" = docGroup");
- docGroup.theImages = new Array;
- }
- if (img) {
- var i;
- for (i=0; i<docGroup.theImages.length; i++) {
- if (docGroup.theImages[i] == img) break;
- }
- docGroup.theImages[i] = img;
- if (!img.atRestSrc) {
- img.atRestSrc = img.src;
- img.initialSrc = img.src;
- }
- }
- return(docGroup);
- }
-
- /* Function GrpDown sets appropriate image to the down state. */
- function GrpDown(grp,imageName,downSrc,downOver){
- if(!downOver) downOver = downSrc;
- var cmd = "'" + grp + "','" + imageName + "','" + downSrc + "','" + downOver + "'";
- setCookie(grp, cmd);
- var docGroup = FindGroup(grp, imageName, false);
- if (!docGroup || !downSrc) return;
- obj = FWFindImage(document,imageName,0);
- var theImages = docGroup.theImages;
- if (theImages) {
- for (i=0; i<theImages.length; i++) {
- var curImg = theImages[i];
- if (curImg && curImg != obj) {
- curImg.atRestSrc = curImg.initialSrc;
- curImg.isDown = false; obj.downOver = false
- curImg.src = curImg.initialSrc;
- }
- }
- }
- obj.atRestSrc = downSrc; obj.downOver = downOver
- obj.src = downOver; obj.isDown = true;
- }
-
- /* Function GrpSwap swaps one or more images and restores all other images in the group
- to their default state. */
- function GrpSwap(grp){
- var i,j=0,newSrc,objName;
- var docGroup = false;
- for (i=1; i < (GrpSwap.arguments.length-1); i+=2) {
- objName = GrpSwap.arguments[i];
- newSrc = GrpSwap.arguments[i+1];
- docGroup = FindGroup(grp, objName);
- if (!docGroup) continue;
- obj = FWFindImage(document,objName,0);
- if (!obj) continue;
- if (obj.isDown) {
- if (obj.downOver) {
- obj.src = obj.downOver;
- }
- } else {
- obj.src = newSrc;
- obj.atRestSrc = obj.initialSrc;
- }
- obj.skipMe = true;
- j++;
- }
- if (!docGroup) return;
- theImages = docGroup.theImages;
- if (theImages) {
- for (i=0; i<theImages.length; i++) {
- var curImg = theImages[i];
- if (curImg.atRestSrc && !curImg.skipMe) {
- curImg.src = curImg.atRestSrc;
- }
- curImg.skipMe = false;
- }
- }
- }
-
- /* Function GrpRestore sets all images in the group to their default states. */
- function GrpRestore(grp){
- var docGroup = eval("document.FWG_"+grp);if (!docGroup) return;
- theImages = docGroup.theImages;
- if (theImages) {
- for (i=0; i<theImages.length; i++) {
- var curImg = theImages[i];
- if (curImg.atRestSrc) {
- curImg.src = curImg.atRestSrc;
- }
- }
- }
- }
-
- /*----------------- END JavaScript functions used in the HTML -----------------*/
-
- // Write out only the JavaScript functions needed for the HTML.
-
- // Write function dm if document includes status bar messages.
- if (hasStatusMessage) {
- WRITE_JS_COMMENT("Function that displays status bar messages.")
- WRITE_HTML(dm);
- WRITE_HTML("\n");
- }
-
- // Write function dmim if document includes image map hotspots with status bar messages.
- if (hasStatusHotspot) {
- WRITE_JS_COMMENT("Function that displays hotspot status bar messages.")
- WRITE_HTML(dmim);
- WRITE_HTML("\n");
- }
-
- // Write function di20 if document includes swap image behaviors.
- if (hasSwap) {
- WRITE_JS_COMMENT("Function that swaps images.")
- WRITE_HTML(di20);
- WRITE_HTML("\n");
- }
-
- // Write FWFindImage if document includes toggle group or swap image behaviors so
- // that images may be moved between CSS layers in an HTML editor.
- if (hasSwap || hasGroup) {
- WRITE_JS_COMMENT("Functions that track and set toggle group button states.")
- WRITE_HTML(FWFindImage);
- WRITE_HTML("\n");
- }
-
- // Write the following functions for toggle group behaviors and tracking.
- if (hasGroup) {
- WRITE_HTML(setCookie);
- WRITE_HTML(getCookie);
- WRITE_HTML(InitGrp);
- WRITE_HTML(FindGroup);
- WRITE_HTML(GrpDown);
- WRITE_HTML(GrpSwap);
- WRITE_HTML(GrpRestore);
- WRITE_HTML("\n");
- }
-
- // Stop hiding script from non-javascript-enabled browsers. End script.
- WRITE_HTML("// stop hiding -->\n");
- WRITE_HTML("</script>\n");
- WRITE_HTML("\n");
-
- // End JavaScript copy/paste section.
- WRITE_HTML_COMMENT("------------------------ STOP COPYING THE JAVASCRIPT HERE ------------------------");
- WRITE_HTML("\n");
-
- // Close head tag.
- WRITE_HTML("</head>\n");
- WRITE_HTML("\n");
-
- // Begin body tag. Set background color to Fireworks document canvas color.
- WRITE_HTML("<body bgcolor=\"#", exportDoc.backgroundColor.toString(16), "\" " );
-
- // Write onLoad function to initialize toggle group.
- if (hasGroup) {
- WRITE_HTML("onload=\"");
- for (i=0; i<groups.length; i++) {
- if (groupInits[groups[i]]) {
- WRITE_HTML(groupInits[groups[i]]);
- }
- WRITE_HTML("InitGrp('" + groups[i] + "');");
- }
- WRITE_HTML("\"");
- }
- WRITE_HTML( ">\n");
- WRITE_HTML("\n");
-
- // Write comment for start of table copy/paste section.
- WRITE_HTML_COMMENT("The following section is an HTML table which reassembles the sliced image in a browser.");
- WRITE_HTML_COMMENT("Copy the table section including the opening and closing table tags, and paste the data where");
- WRITE_HTML_COMMENT("you want the reassembled image to appear in the destination document. ");
- WRITE_HTML("\n");
- WRITE_HTML_COMMENT("------------------------ BEGIN COPYING THE TABLE HERE --------------------------");
- WRITE_HTML("\n");
-
- WRITE_HTML_COMMENT(" Image with table ");
- WRITE_HTML("\n");
-
- // Begin table.
- WRITE_HTML( "<table ");
-
- // If the Fireworks document's canvas is not transparent and the Include undefined slices checkbox
- // is off, give the table a background color based on the FIreworks document's canvas color.
- if (!exportDoc.backgroundIsTransparent && slices.doSkipUndefined) {
- WRITE_HTML("bgcolor=\"#", exportDoc.backgroundColor, "\"");
- }
- WRITE_HTML("border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"",
- exportDoc.width, "\">\n");
-
- var curCol;
- var curRow;
- var downIndex = 0;
-
- // If shims have been specified, write shim row.
- if (slices.doShimEdges) {
- WRITE_HTML("\n <tr>");
- WRITE_HTML_COMMENT(" Shim row, height 1. ");
- for (curCol = 0; curCol < slices.numColumns; curCol++) {
- WRITE_HTML(" <td><img src=\"", slices.shimPath, "\" width=\"",
- slices[0][curCol].cellWidth, "\" height=\"1\" border=\"0\"></td>\n");
- }
- WRITE_HTML(" <td><img src=\"", slices.shimPath, "\" width=\"1",
- "\" height=\"1\" border=\"0\"></td>\n");
- WRITE_HTML(" </tr>\n");
- WRITE_HTML("\n");
- }
-
- // Write table rows.
- for (curRow = 0; curRow < slices.numRows; curRow++) {
- WRITE_HTML(" <tr>");
- WRITE_HTML_COMMENT(" row "+(curRow+1)+" ");
- for (curCol = 0; curCol < slices.numColumns; curCol++) {
- var curSlice = slices[curRow][curCol];
- if (curSlice.skipCell) continue;
-
- // Write rowspan and colspan if necessary. Ex: rowspan="1" colspan="3"
- WRITE_HTML(" <td");
- if (curSlice.rowSpan > 1) {
- WRITE_HTML(" rowspan=\"", curSlice.rowSpan,"\"");
- }
- if (curSlice.columnSpan>1) {
- WRITE_HTML(" colspan=\"", curSlice.columnSpan, "\"");
- }
- WRITE_HTML(">");
-
- // Write HTML text from slices set to "Text (No Image)"
- if (!curSlice.hasImage) {
- // no image, just dump out html text.
- WRITE_HTML(curSlice.htmlText, "</td>\n");
- continue;
- }
-
- // If current slice is not defined by a slice object and Export Undefined
- // Slices is not checked, don't output an image and if Shims are specified
- // place a shim image in the current cell.
- if (curSlice.isUndefined && slices.doSkipUndefined) {
- if (slices.doShimInternal || slices.doShimEdges) {
- WRITE_HTML("<img src=\"",
- slices.shimPath, "\" width=\"", curSlice.width, "\" height=\"",
- curSlice.height, "\" border=\"0\">");
- }
- WRITE_HTML("</td>\n");
- // Tell Fireworks to not write the image file. Setting the filename to "" forces
- // Fireworks to not generate the image.
- var q;
- for (q=0; q<exportDoc.numFrames; q++) {
- curSlice.setFrameFileName(q, "");
- }
- continue;
- }
-
- // Write link if slice has URL attached.
- var href = "href=\"#\"";
- var hasHref = curSlice.hasHref;
- var abortHref = false;
- if (curSlice.hasHref) {
- href = "href=\"";
- href += curSlice.href;
- href += "\"";
- if (curSlice.hasTargetText) {
- href += " target=\"";
- href += curSlice.targetText;
- href += "\"";
- }
-
- // If exporting demo HTML, ignore the URL and replace with none.
- if (slices.doDemoHTML && curSlice.getFrameFileName(2)) {
- hasHref = false;
- href = "href= \"#\"";
- }
- }
-
- // Initialize variables for rollover and swap image behaviors.
- var javaOver = "";
- var javaOut = "";
- var javaClick = "";
- var cellName = CellName(curRow, curCol);
- var anchorTagOpen = false;
-
- // If the slice has image map hotspots and has a url attached to it,
- // ignore the url here and move it into the image map.
- if (curSlice.hasImage && curSlice.hasImagemap) {
- abortHref = true; // we will put the href in the imagemaps.
- }
-
- // Write rollover and swap image events.
- if (!abortHref) {
- var behaviors = curSlice.behaviors;
- var gotJavascript = ProcessBehavior(behaviors, "dm");
-
- if ( gotJavascript || curSlice.hasHref) {
- WRITE_HTML("<a ");
- anchorTagOpen = true;
- WRITE_HTML(href);
-
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
- WRITE_HTML(">");
- }
- }
-
- // Place image.
- if (curSlice.hasImage) {
- var imageName = curSlice.getFrameFileName(0);
- var altText = "";
- if (curSlice.hasAltText) {
- altText = curSlice.altText;
- } else {
- altText = exportDoc.altText;
- }
-
- // Assemble info for image tag.
- // Ex: <img name="N_03_02" src="File_03_02.gif" width="79" height="71" border="0"
- WRITE_HTML("<img name=\"", cellName, "\" src=\"",
- slices.imagesDirPath, imageName, curSlice.imageSuffix, "\" width=\"",
- curSlice.width,"\" height=\"", curSlice.height, "\" border=\"0\"");
-
- // Write image map name.
- // Ex: usemap="#base_r1_c2"
- if (curSlice.hasImagemap) {
- WRITE_HTML(" usemap=\"#", imageName, "\"");
- }
-
- // Write alt text.
- if (altText != "") {
- WRITE_HTML(" alt=\"", altText, "\"");
- }
- WRITE_HTML(">");
- }
-
- if (anchorTagOpen) {
- WRITE_HTML("</a>");
- }
- WRITE_HTML("</td>\n");
- }
-
- // Place shim in rightmost column of table.
- if (slices.doShimEdges) {
- /* Write the 1 pixel transparent shim. */
- WRITE_HTML(" <td><img src=\"",
- slices.shimPath, "\" width=\"1\" height=\"",
- slices[curRow][0].cellHeight, "\" border=\"0\"></td>\n");
- }
- WRITE_HTML(" </tr>\n");
- WRITE_HTML("\n");
- }
-
- // Close table.
- WRITE_HTML("</table>\n");
-
- // Traverse all slices and generate any image maps needed.
- for (curRow = 0; curRow < slices.numRows; curRow++) {
- for (curCol = 0; curCol < slices.numColumns; curCol++) {
- var curSlice = slices[curRow][curCol];
- if (curSlice.skipCell) continue;
- if (curSlice.hasImagemap) {
-
- // Write the image map.
- WRITE_HTML("\n<map name=\"", curSlice.getFrameFileName(0), "\">\n");
-
- var i = 0;
- var imagemap = curSlice.imagemap;
- while (i < imagemap.numberOfURLs) {
- var curImagemap = imagemap[i];
-
- var behaviors = curImagemap.behaviors;
-
- if (behaviors.numberOfBehaviors==0) {
- behaviors = curSlice.behaviors;
- }
- var javaOver = "";
- var javaOut = "";
- var javaClick = "";
- var gotJavascript = ProcessBehavior(behaviors, "dmim");
-
- // Write the area tag with shape definitions.
- WRITE_HTML("<area shape=\"");
- WRITE_HTML(curImagemap.shape); // Shapes are rect poly and circle
- WRITE_HTML("\" coords=\"");
- for (var j=0; j<curImagemap.numCoords; j++) {
- if (j>0) WRITE_HTML(",");
- // polygon has n coords.
- // rect has 2 coords, topLeft, and botomRight.
- // circle has one coord, center; plus radius.
- WRITE_HTML((curImagemap.xCoord(j)-curSlice.left), ",", (curImagemap.yCoord(j)-curSlice.top));
- }
- if (curImagemap.shape == "circle") {
- // Write the radius for circle hotspots.
- WRITE_HTML(", ", curImagemap.radius);
- }
- WRITE_HTML("\"");
- var href = " href=\"#\"";
- if (curImagemap.hasHref) {
- href = " href=\"";
- href += curImagemap.href;
- href += "\"";
- if (curImagemap.hasTargetText) {
- href += " target=\"";
- href += curImagemap.targetText;
- href += "\"";
- }
- }
-
- WRITE_HTML(href);
-
- // Write alt text for hotspot.
- var altText = "";
- if (curImagemap.hasAltText) {
- altText = curImagemap.altText;
- } else {
- altText = exportDoc.altText;
- }
-
- if (altText!="") {
- WRITE_HTML(" title=\"", altText, "\"");
- WRITE_HTML(" alt=\"", altText, "\"");
- }
-
- // Write rollover and swap image behaviors.
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
-
- WRITE_HTML(" >\n");
- i++;
- }
- behaviors = slices[curRow][curCol].behaviors;
- var javaOver = "";
- var javaOut = "";
- var javaClick = "";
- var gotJavascript = ProcessBehavior(behaviors,"dmim");
-
- // If the current slice had a URL attached, it was moved and written here.
- if (gotJavascript || curSlice.hasHref) {
- WRITE_HTML("<area shape=\"rect\" coords=\"0,0, ", curSlice.width, ",", curSlice.height, "\" ");
- var href="#";
- if (curSlice.hasHref) {
- href = curSlice.href;
- }
- WRITE_HTML("href=\"", href, "\"");
-
- if (curSlice.hasTargetText) {
- WRITE_HTML("\n target=\"", slices[curRow][curCol].targetText, "\"");
- }
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
- var altText = "";
- if (curSlice.hasAltText) {
- altText = curSlice.altText;
- } else {
- altText = exportDoc.altText;
- }
- if (altText!="") {
- WRITE_HTML(" title=\"", altText, "\"");
- WRITE_HTML(" alt=\"", altText, "\"");
- }
- WRITE_HTML(">\n");
- }
-
- WRITE_HTML("</map>\n")
- WRITE_HTML("\n");
- }
- }
- }
-
- WRITE_HTML("\n");
-
- // End table copy/paste section.
- WRITE_HTML_COMMENT(" This table was automatically created with Macromedia Fireworks 2.0 ");
- WRITE_HTML_COMMENT(" http://www.macromedia.com ");
- WRITE_HTML("\n");
-
- WRITE_HTML_COMMENT("------------------------- STOP COPYING THE TABLE HERE -------------------------");
-
- WRITE_HTML("\n");
- WRITE_HTML("</body>\n");
-
- WRITE_HTML("\n");
- WRITE_HTML("</html>\n");
- WRITE_HTML("\n");
-